#ifndef __ACCESSOR__
#define __ACCESSOR__
namespace GXL_Engine
{
	template<typename T>
	class CallBack : public Runnable
	{
		typedef void (T::*Method)();
	public:
		CallBack(T* obj, Method method)
			:m_Obj(obj), m_Method(method){}
		virtual VOID Run()
		{
			(m_Obj->*m_Method)();
		}

	private:
		T*		m_Obj;
		Method	m_Method;
	};
}
#endif//__ACCESSOR__